import { defineNuxtPlugin } from '#app'
import axios from 'axios' // 直接引入 axios

export default defineNuxtPlugin((nuxtApp) => {
  const request = axios.create({
    baseURL: 'https://api.indtrd.com', // 替换为你的 API 基础 URL
    timeout: 10000, // 请求超时时间
    headers: {
      'Content-Type': 'application/json',
    },
  })

  const fetchToken = async () => {
    try {
      const response = await request.post('/api/v1/authentication/clienttokenasync',{
        "ClientID": "indtrd",
        "ClientSecret": "0d31b7c5321ff7476d7f49c56e47f349"
      }) // 替换为你的获取 token 的 API 路径
      const { access_token } = response.data // 假设返回的结构中有 access_token
      
      localStorage.setItem('accessToken', access_token) // 保存到本地
      return access_token
    } catch (error) {
      console.error('Error fetching token:', error)
      return null
    }
  }

  // 在首次挂载时请求 token
  nuxtApp.hook('app:mounted', async () => {
    await fetchToken()
    // 设置定时器每 100 分钟请求一次 token
    setInterval(fetchToken, 100 * 60 * 1000) // 100 分钟
  })
}) 